Batch Management - Control Batch Close Times
By default, batches that are not closed by the end user automatically close at the processor's next scheduled cutoff time. However, you can control which scheduled cutoff time batches will follow using the Batch Management feature.
For example, consider the following scenario: You have a regularly scheduled 8 p.m. cutoff time for daily processing. In this case, you don’t want a batch of transactions to process that same day at the scheduled 8 p.m. cutoff time. Instead, you would like those transactions to process in the following day's scheduled 8 p.m. cutoff. You can control that specific batch's cutoff time by creating a batch with a value in the AutoCloseDateTime field that is after 8 p.m. that day. Think of the AutoCloseDateTime as a “do not close before” value. For example, 9 p.m. would work in this scenario.
You would then place any transactions into this batch that you want to skip 8 p.m. processing for the current day. When the normal cutoff schedule runs and generates a file at 8 p.m., the approved transactions in this "example batch" will not process until the following day's 8 p.m. cutoff time.
Getting Started
Each step in the workflow diagram is a hyperlink that will take you to the API reference information for the method being used.
Tasks covered in this guide
- Step 1: Create a new batch with a custom cutoff time
- Step 2: Add items into the open batch
Optional Steps
- Step 3: Manually close the batch
- Step 4: Update/Change the auto-close setting for the batch again
- Step 5: Send GetBatch request to verify the batch information
JHA SmartPay Transaction Processing™ - Batch Management - Control Batch Close Times Workflow
Batch Management - Control Batch Close Times Workflow
Integrator Flow | EPS WebService Flow | ||||
EPS Web Service | |||||
| 1. | |||||
| 2. | |||||
This is all that is needed at this point. The batch will remain open through the 8pm cutoff and any transaction within will remain in the processed state. The following day at 8pm this batch will close, the transactions will move to processed and placed in a file. | |||||
| 3. | |||||
| 4. | |||||
| 5. | |||||
| |||||
Create a new batch with custom cutoff time
Step 1: Create a batch request
Send a CreateProcessingBatch Request or send a CreateProcessingBatchWithDepositSlipAuxOnUs Request
- Set the isAutoCloseDateTimeRequired to True.
- Set the AutoCloseDateTime to 9pm.
- Supply the necessary values according to the request reference, such as the Batch Number.
CreateProcessingBatch Request Example
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<CreateProcessingBatch xmlns="https://ssl.selectpayment.com/PV">
<storeId>123456</storeId>
<storeKey>XXXXXXXX</storeKey>
<entityId>12345</entityId>
<locationId>102030</locationId>
<terminalNumberIfKnown>__WebService</terminalNumberIfKnown>
<batchNumberToCreate>123</batchNumberToCreate>
<autoCloseDateTime>2010-11-26T19:00:00</autoCloseDateTime>
<isAutoCloseDateTimeRequired>0</isAutoCloseDateTimeRequired>
</CreateProcessingBatch>
</soap:Body>
</soap:Envelope>
Create Processing Batch Response Example
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<CreateProcessingBatchResponse xmlns="https://ssl.selectpayment.com/PV">
<CreateProcessingBatchResult>
<returnValue>Success</returnValue>
<message>Operation successful</message>
</CreateProcessingBatchResult>
</CreateProcessingBatchResponse>
</soap:Body>
</soap:Envelope>
Begin adding items into the open batch
Step 2: Add transactions into the open batch
Send an AuthorizeTransaction Request
- Begin adding transactions into the batch, which will process at the custom cutoff time you have set up for this batch (9pm).
- This is all that is required at this point for this batch. This batch remains open through the regular cutoff time and any transactions within it remain in the approved state. The following day at 8 p.m., this batch closes with the regular cutoff time, the transactions move to a processed status, and those items are placed into a file.
AuthorizeTransaction Request Example
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:pv="https://ssl.selectpayment.com/PV">
<soapenv:Header/>
<soapenv:Body>
<pv:AuthorizeTransaction>
<pv:storeId>123456</pv:storeId>
<pv:storeKey>XXXXXXXX</pv:storeKey>
<pv:transaction>
<pv:EntityId>12345</pv:EntityId>
<pv:LocationId>102030</pv:LocationId>
<pv:PaymentOrigin>Telephone_IVR</pv:PaymentOrigin>
<pv:AccountType>Checking</pv:AccountType>
<pv:OperationType>Auth</pv:OperationType>
<pv:SettlementType>ACH</pv:SettlementType>
<pv:EffectiveDate>2011-02-21</pv:EffectiveDate>
<pv:Description></pv:Description>
<pv:TotalAmount>56.34</pv:TotalAmount>
<pv:Sale></pv:Sale>
<pv:ConvenienceFeeAmount></pv:ConvenienceFeeAmount>
<pv:TerminalNumber>__WebService</pv:TerminalNumber>
<pv:TransactionNumber>1020</pv:TransactionNumber>
<pv:Field1></pv:Field1>
<pv:Field2></pv:Field2>
<pv:Field3></pv:Field3>
<pv:CheckMICRLine></pv:CheckMICRLine>
<pv:CheckMICRSymbolSet></pv:CheckMICRSymbolSet>
<pv:RoutingNumber>111000025</pv:RoutingNumber>
<pv:AccountNumber>5637492437</pv:AccountNumber>
<pv:CheckNumber></pv:CheckNumber>
<pv:SwipeTrack1></pv:SwipeTrack1>
<pv:SwipeTrack2></pv:SwipeTrack2>
<pv:SwipeTrack3></pv:SwipeTrack3>
<pv:IsBusinessPayment>0</pv:IsBusinessPayment>
<pv:NameOnAccount>Susan Doyle</pv:NameOnAccount>
<pv:BillingAddress1></pv:BillingAddress1>
<pv:BillingAddress2></pv:BillingAddress2>
<pv:BillingCity></pv:BillingCity>
<pv:BillingStateRegion></pv:BillingStateRegion>
<pv:BillingPostalCode></pv:BillingPostalCode>
<pv:BillingCountry></pv:BillingCountry>
<pv:BillingPhone></pv:BillingPhone>
<pv:IpAddressOfOriginator></pv:IpAddressOfOriginator>
<pv:EmailAddress></pv:EmailAddress>
<pv:SSN></pv:SSN>
<pv:DLState></pv:DLState>
<pv:DLNumber></pv:DLNumber>
<pv:CheckFrontImageBytes_TiffG4></pv:CheckFrontImageBytes_TiffG4>
<pv:CheckRearImageBytes_TiffG4></pv:CheckRearImageBytes_TiffG4>
<pv:OptionalThirdImageBytes_TiffG4></pv:OptionalThirdImageBytes_TiffG4>
<pv:OptionalThirdImageDescription></pv:OptionalThirdImageDescription>
</pv:transaction>
</pv:AuthorizeTransaction>
</soapenv:Body>
</soapenv:Envelope>
AuthorizeTransaction Response Example
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<AuthorizeTransactionResponse xmlns="https://ssl.selectpayment.com/PV">
<AuthorizeTransactionResult>
<ReferenceNumber>T:5JVMJPT3A5G</ReferenceNumber>
<Success>true</Success>
<Error>false</Error>
<ResponseCode>Success</ResponseCode>
<ActualDate>2011-02-21T15:33:31.1548063-06:00</ActualDate>
<ResponseMessage/>
<OriginatedAs>ACH</OriginatedAs>
</AuthorizeTransactionResult>
</AuthorizeTransactionResponse>
</soap:Body>
</soap:Envelope>
Optional Steps
- These are optional steps you can use to edit, adjust, or pull information about the batch you opened with a custom Auto Close Date Time.
Step 3: Manually close the batch
Send a CloseProcessingBatchRequest Request
- This action overwrites the custom cutoff time and processes the batch normally at the regular cutoff time.
CloseProcessingBatch Request Example
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:pv="https://ssl.selectpayment.com/PV">
<soapenv:Header/>
<soapenv:Body>
<pv:CloseProcessingBatch>
<storeId>123456</storeId>
<storeKey>XXXXXXXX</storeKey>
<entityId>12345</entityId>
<pv:batchNumber>123</pv:batchNumber>
</pv:CloseProcessingBatch>
</soapenv:Body>
</soapenv:Envelope>
CloseProcessingBatch Response Example
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<CloseProcessingBatchResponse xmlns="https://ssl.selectpayment.com/PV">
<CloseProcessingBatchResult>
<returnValue>Success</returnValue>
<message>Operation successful</message>
</CloseProcessingBatchResult>
</CloseProcessingBatchResponse>
</soap:Body>
</soap:Envelope>
Step 4: Update auto-close custom time for earlier or later
- If you decide you want to adjust the batch auto-close setting, you can do so by sending an Update Auto Close Date Time request with your new time.
- The Batch Number is required for this request.
Send a UpdateAutoCloseDateTimeRequest
UpdateAutoCloseDateTime Request Example
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:pv="https://ssl.selectpayment.com/PV">
<soapenv:Header/>
<soapenv:Body>
<pv:CloseProcessingBatch>
<storeId>123456</storeId>
<storeKey>XXXXXXXX</storeKey>
<entityId>12345</entityId>
<pv:batchNumber>123</pv:batchNumber>
</pv:CloseProcessingBatch>
</soapenv:Body>
</soapenv:Envelope>
UpdateAutoCloseDateTime Response Example
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<CloseProcessingBatchResponse xmlns="https://ssl.selectpayment.com/PV">
<CloseProcessingBatchResult>
<returnValue>Success</returnValue>
<message>Operation successful</message>
</CloseProcessingBatchResult>
</CloseProcessingBatchResponse>
</soap:Body>
</soap:Envelope>
Step 5: Send GetBatch request to verify batch information
- This request can be used to gather information regarding the batch details.
Send a GetBatch Request
- The Batch Number is required for this request.
GetBatch Request Example
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:pv="https://ssl.selectpayment.com/PV">
<soapenv:Header/>
<soapenv:Body>
<pv:GetBatch>
<pv:storeId>123456</pv:storeId>
<pv:storeKey>XXXXXXXX</pv:storeKey>
<pv:entityId>12345</pv:entityId>
<pv:batchNumber>123</pv:batchNumber>
</pv:GetBatch>
</soapenv:Body>
</soapenv:Envelope>
GetBatch Response Example
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<GetBatchResponse xmlns="https://ssl.selectpayment.com/PV">
<GetBatchResult>
<EntityId>12345</EntityId>
<BatchNumber>123</BatchNumber>
<BatchStatus>Open</BatchStatus>
<CreateDateTime>2010-12-30T10:31:04.1430000-06:00</CreateDateTime>
<ClosedDateTime>9999-12-31T23:59:59.9999999-06:00</ClosedDateTime>
<DebitCount>0</DebitCount>
<DebitAmount>0</DebitAmount>
<CreditCount>0</CreditCount>
<CreditAmount>0</CreditAmount>
<AuthorizedCount>0</AuthorizedCount>
<DeclinedCount>0</DeclinedCount>
<VoidCount>0</VoidCount>
<CreatedByUserId>0</CreatedByUserId>
<ClosedByUserId>123456</ClosedByUserId>
<AutoCloseDateTime>9999-12-31T23:59:59.9999999-06:00</AutoCloseDateTime>
</GetBatchResult>
</GetBatchResponse>
</soap:Body>
</soap:Envelope>
Next steps
- Review the API Reference
Please review the API Reference to see all APIs and their technical specifications.
- Explore other guides
We have other guides to show how to leverage our APIs in other common use cases so if this one doesn’t cover what you are looking for, give another guide a try. If your situation or question is not covered in the current guide, consult another resource.